# -*- coding: utf-8 -*-
# @Time     : 2021/11/27 9:07
# @Author   : wljess
# @File     : 选择排序.py
# @Describe : 
# @Software : PyCharm


def select_sort(li):
    '''
    选择排序
    :param li: 待排序列表
    :return:
    '''

    for i in range(len(li) - 1):  # 循环n躺
        min_loc = i  # 假设最小元素下标为每趟循环的i值
        for j in range(i + 1, len(li)):  # 每躺循环找到最小元素下标
            if li[j] < li[min_loc]:  # 若无序区元素小于记录的最小元素下标，更新最小元素下标
                min_loc = j

        # 每趟循环结束，交换i和最小元素min_loc位置
        li[i], li[min_loc] = li[min_loc], li[i]
        print(li)

    return li


if __name__ == '__main__':
    lst = [92, 18, 45, 36, 9, 8, 7, 19, 20, 35]
    print(select_sort(lst))
